break |
It is possible to exit immediately from an instruction for using the instruction break. The instruction break stops the execution of a group of instructions inside a for when one or more conditions change, thus, it is typically used with an instruction if. In the example below, the variable i should take the values: 1, 2, 3 and 4. However, when i takes the value of 3, the instruction break gets executed and stops the execution of the for. Observe that the variable i does not take the value of 4 as expected. When the instruction break is executed inside a for, the for terminates immediately, and program control resumes at the next instruction after the block for. Es posible salir inmediatamente de una instrucción for usando la instrucción break. La instrucción break detiene la ejecución de un grupo de instrucciones que estan dentro de un for cuando una o más condiciones cambian, así, este es usando típicamente con la instrucción if. En el ejemplo de abajo, la variable i debería tomar los valores de: 1, 2, 3 y 4. Sin embargo, cuando i toma el valor de 3, la instrucción break se ejecuta y detiene la ejecución del for. Observe que la variable i no toma el valor de 4 como se esperaría. Cuando la instrucción break se ejecuta dentro de un for, el for termina inmediatamente, y el programa continua con la próxima instrucción después del bloque for. |
Problem 1 |
Compute the table of variables and the output of the code shown. Suppose there is a textbox called tbx1 with the property of multiline. Create a Wintempla dialog application called Gerardo to verify your answer. Calcule la tabla de variables y la salida del código de abajo. Suponga que hay una caja de texto llamada tbx1 con la propiedad de multilínea. Cree una aplicación de diálogo de Wintempla llamada Gerardo para verificar sus resultados. |
Gerardo.cpp |
void Gerardo::Window_Open(Win::Event& e) { wchar_t text[64]; int i = 0; for(i = 1; i < 10; i++) { if (i%4 == 0) break; _snwprintf_s(text, 64, _TRUNCATE, L"%d\r\n", i); tbx1.Text += text; } } |
Problem 2 |
Compute the table of variables and the output of the code shown. Suppose there is a textbox called tbx1 with the property of multiline. Calcule la tabla de variables y la salida del código de abajo. Suponga que hay una caja de texto llamada tbx1 con la propiedad de multilínea. |
Gerardo.cpp |
void Gerardo::Window_Open(Win::Event& e) { wchar_t text[64]; int i = 0; for(i = 10; i > 1; i -= 2) { _snwprintf_s(text, 64, _TRUNCATE, L"%d\r\n", i); tbx1.Text += text; if (i%4 == 0) break; } } |
Tip |
When the instruction break is used inside a set of nested fors, the instruction will stop the execution of only the innermost for. Cuando la instrucción break es usada dentro de un conjunto de fors anidados (for inside another for), la instrucción detendrá la ejecución solamente del for más interno. |
Problem 3 |
Compute the table of variables and the output of the code shown. Suppose there is a textbox called tbx1 with the property of multiline. Calcule la tabla de variables y la salida del código de abajo. Suponga que hay una caja de texto llamada tbx1 con la propiedad de multilínea. |
Program.cpp |
void Program::Window_Open(Win::Event& e) { wchar_t text[64]; for(int i = 1; i < 5; i *= 2) { for(int j = 1; j < 3; j++) { _snwprintf_s(text, 64, _TRUNCATE, L"%d, %d\r\n", i, j); tbx1.Text += text; if (i%2 == 0) break; } tbx1.Text += L"W"; } } |